package com.jingdianjichi.subject.common.entity;

import lombok.Data;

import java.io.Serializable;
import java.util.Collections;
import java.util.List;

/**
 * 分页返回结果实体类
 * @author 86156
 * @version 1.0
 * @date 2024-10-21 16:52
 */
@Data
public class PageResult<T> implements Serializable{
    private Integer pageNo = 1;
    private Integer pageSize = 20;
    private Integer total = 0;
    private Integer totalPage = 0;
    private List<T> result = Collections.emptyList();
    private Integer start = 1;
    private Integer end = 0;

    public void setRecords(List<T> result){
        this.result = result;
        if(result != null && result.size()>0){
            setTotal(result.size());
        }
    }

    public void setTotal(Integer total) {
        this.total = total;
        if(pageSize > 0){
            this.totalPage = (total/this.pageSize)+(total%this.pageSize > 0 ? 1 : 0);
        }else{
            this.totalPage = 0;
        }
        this.start = (this.pageSize > 0 ? (this.pageNo-1)*this.pageSize : 0)+1;
        this.end = (this.start-1 + this.pageSize * (this.pageNo-1 > 0 ? 1 : 0));
    }

}
